package com.lm.poitl.service;

import com.deepoove.poi.XWPFTemplate;
import lombok.var;
import org.springframework.stereotype.Service;

import java.io.FileOutputStream;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;

@Service
public class WordGeneratorService {

    public void generateWord() throws Exception {
        // 定义动态数据
        Map<String, Object> data = new HashMap<>();
        data.put("name", "张三");
        data.put("date", "2025年3月12日");
        data.put("product", "MacBook Pro 16寸");
        data.put("price", "19999");
        data.put("signature", "张三公司");

        // 使用类路径加载资源文件
        InputStream templateStream = WordGeneratorService.class.getClassLoader()
                .getResourceAsStream("templates/template.docx");

        if (templateStream == null) {
            throw new IllegalArgumentException("模板文件未找到！");
        }

        XWPFTemplate template = XWPFTemplate.compile(templateStream).render(data);

        // 另存生成的文件
        template.writeToFile("output.docx");
        template.close();
    }
}